package org.xfy.base.util;

/**
 * 自定义错误码：统一处理异常响应信息
 */
public enum ErrorCode {
    SYSTEM_ERROR("1001", "系统内部异常"),//自定义的错误码尽量往1000以上去写
    Besiness_ERROR("5001", "只能从最后一级修改"), //自定义的错误码尽量往1000以上去写
    Besiness_REGISTER_ERROR("5002", "密码确认不一致"), //自定义的错误码尽量往1000以上去写
    Besiness_REGISTER_phone_ERROR("5003", "手机号已注册"), //自定义的错误码尽量往1000以上去写
    Besiness_REGISTER_shop_ERROR("5004", "店铺或者地址已被注册"), //自定义的错误码尽量往1000以上去写
    Besiness_SHOP_NAME_ERROR("5005", "店铺名字不合规"), //自定义的错误码尽量往1000以上去写
    Besiness_SHOP_ADRESS_ERROR("5006", "店铺地址不合规"), //自定义的错误码尽量往1000以上去写
    Besiness_SYSTEM_Malice_ERROR("1002", "短信验证超过每日上限"), //自定义的错误码尽量往1000以上去写
    Besiness_SYSTEM_LOGIN_ERROR("1003", "用户名或密码错误"), //自定义的错误码尽量往1000以上去写
    Besiness_Role_sn_ERROR("2003", "类型编码重复"), //自定义的错误码尽量往1000以上去写
    SUCCESS("200", "操作成功"); //自定义的错误码尽量往1000以上去写

    //错误码
    private String code;
    //错误信息
    private String message;

    ErrorCode(String code, String message) {
        this.code = code;
        this.message = message;
    }

    public String getCode() {
        return code;
    }

    public String getMessage() {
        return message + "[" + code + "]";
    }

    public static ErrorCode getErrorCodeBycode(String code) {
        ErrorCode[] values = ErrorCode.values();
        for (ErrorCode value : values) {
            if (value.getCode().equals(code)) {
                return value;
            }
        }
        return null;
    }
}